package com.kingdee.eas.scm.sm.pur.app;

import com.kingdee.bos.BOSException;
//import com.kingdee.bos.metadata.*;
import com.kingdee.bos.framework.*;
import com.kingdee.bos.util.*;
import com.kingdee.bos.Context;

import java.lang.String;
import com.kingdee.eas.common.EASBizException;
import com.kingdee.bos.metadata.entity.EntityViewInfo;
import com.kingdee.bos.dao.IObjectPK;
import com.kingdee.eas.scm.sm.pur.PurOrderInfo;
import java.util.Map;
import java.math.BigDecimal;
import java.util.Date;
import com.kingdee.eas.scm.common.app.SCMBillBaseController;
import com.kingdee.bos.metadata.entity.SelectorItemCollection;
import com.kingdee.eas.scm.sm.pur.PurOrderCollection;
import com.kingdee.eas.framework.CoreBaseCollection;
import com.kingdee.bos.util.*;
import com.kingdee.bos.BOSException;
import com.kingdee.bos.Context;
import com.kingdee.bos.dao.IObjectValue;
import com.kingdee.eas.framework.CoreBaseInfo;
import com.kingdee.jdbc.rowset.IRowSet;
import com.kingdee.bos.framework.*;
import com.kingdee.bos.util.BOSUuid;

import java.rmi.RemoteException;
import com.kingdee.bos.framework.ejb.BizController;

public interface PurOrderController extends SCMBillBaseController
{
    public void revoke(Context ctx, IObjectPK[] pks, IObjectValue[] reasonCodes) throws BOSException, EASBizException, RemoteException;
    public void revoke(Context ctx, IObjectPK[] pks, String[] reasonCodes) throws BOSException, EASBizException, RemoteException;
    public void revoke(Context ctx, IObjectPK pk, IObjectValue reasonCode) throws BOSException, EASBizException, RemoteException;
    public void revoke(Context ctx, IObjectPK pk, String reasonCode) throws BOSException, EASBizException, RemoteException;
    public void audit(Context ctx, IObjectPK pk) throws BOSException, EASBizException, RemoteException;
    public void audit(Context ctx, IObjectPK[] pks) throws BOSException, EASBizException, RemoteException;
    public PurOrderInfo getPurOrderInfo(Context ctx, IObjectPK pk) throws BOSException, EASBizException, RemoteException;
    public PurOrderInfo getPurOrderInfo(Context ctx, IObjectPK pk, SelectorItemCollection selector) throws BOSException, EASBizException, RemoteException;
    public PurOrderInfo getPurOrderInfo(Context ctx, String oql) throws BOSException, EASBizException, RemoteException;
    public PurOrderCollection getPurOrderCollection(Context ctx) throws BOSException, RemoteException;
    public PurOrderCollection getPurOrderCollection(Context ctx, EntityViewInfo view) throws BOSException, RemoteException;
    public PurOrderCollection getPurOrderCollection(Context ctx, String oql) throws BOSException, RemoteException;
    public void checkAlert(Context ctx, IObjectPK pk) throws BOSException, EASBizException, RemoteException;
    public void alert(Context ctx, IObjectPK pk, IObjectValue model) throws BOSException, EASBizException, RemoteException;
    public BigDecimal isNeedDeliveryAdvanceAlert(Context ctx, BOSUuid pk, BigDecimal advanceDay) throws BOSException, EASBizException, RemoteException;
    public BigDecimal isNeedDeliveryDeferAlert(Context ctx, BOSUuid pk, BigDecimal deferDay) throws BOSException, EASBizException, RemoteException;
    public void canRevoke(Context ctx, IObjectPK pk) throws BOSException, EASBizException, RemoteException;
    public void canRevoke(Context ctx, IObjectPK[] pks) throws BOSException, EASBizException, RemoteException;
    public void alter(Context ctx, IObjectPK pk, PurOrderInfo model) throws BOSException, EASBizException, RemoteException;
    public void agreeAlter(Context ctx, IObjectPK pk) throws BOSException, EASBizException, RemoteException;
    public void disaccordAlter(Context ctx, IObjectPK pk) throws BOSException, EASBizException, RemoteException;
    public void unAudit(Context ctx, IObjectPK[] pks) throws BOSException, EASBizException, RemoteException;
    public void unAudit(Context ctx, IObjectPK pk) throws BOSException, EASBizException, RemoteException;
    public Map batchCheckForSumbit(Context ctx, IObjectPK[] entries) throws BOSException, EASBizException, RemoteException;
    public IRowSet getEntryForSupplierPrice(Context ctx, String materialID, String purchaseOrgUnitID, String unitID, Date bizDate) throws BOSException, RemoteException;
    public IRowSet getEntryForApproved(Context ctx, String materialID, String purChaseOrgID) throws BOSException, RemoteException;
    public boolean entryHasDest(Context ctx, Map param) throws BOSException, EASBizException, RemoteException;
    public void sendOrd(Context ctx, PurOrderInfo model) throws BOSException, RemoteException;
    public void confirmation(Context ctx, PurOrderInfo model) throws BOSException, RemoteException;
    public void unConfirmation(Context ctx, PurOrderInfo model) throws BOSException, RemoteException;
}